<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="cache-control" content="no-cache">
<title>Genivia - ISAPI_HttpRequest Class Reference</title>
<link href="genivia_tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="genivia_content.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="top">
 <div id="titlearea">
  <table height="72px" width="100%" cellspacing="0" cellpadding="0">
   <tbody>
    <tr>
     <td width="10%">&nbsp;</td>
     <td width="175px"><a href="http://www.genivia.com"><img alt="Genivia" src="GeniviaLogo2_trans_noslogan.png"/></a></td>
     <td class="tab_home"><a href="http://www.genivia.com">Home</a></td>
     <td class="tab_home"><a href="http://www.genivia.com/docs.html">Documentation</a></td>
     <td>
      <div style="float: right; font-size: 18px; font-weight: bold;">ISAPI_HttpRequest Class Reference</div>
      <br>
      <div style="float: right; font-size: 10px;">updated Mon Feb 22 2016</div>
     </td>
     <td width="10%">&nbsp;</td>
    </tr>
   </tbody>
  </table>
 </div>
<!-- Generated by Doxygen 1.8.10 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_i_s_a_p_i___http_request-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ISAPI_HttpRequest Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;ISAPI_HttpContext.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ISAPI_HttpRequest:</div>
<div class="dyncontent">
<div class="center"><img src="class_i_s_a_p_i___http_request__inherit__graph.png" border="0" usemap="#_i_s_a_p_i___http_request_inherit__map" alt="Inheritance graph"/></div>
<map name="_i_s_a_p_i___http_request_inherit__map" id="_i_s_a_p_i___http_request_inherit__map">
<area shape="rect" id="node2" href="class_http_request.html" title="HttpRequest" alt="" coords="26,83,120,111"/>
<area shape="rect" id="node4" href="class_http_message.html" title="HttpMessage" alt="" coords="23,6,123,34"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ISAPI_HttpRequest:</div>
<div class="dyncontent">
<div class="center"><img src="class_i_s_a_p_i___http_request__coll__graph.png" border="0" usemap="#_i_s_a_p_i___http_request_coll__map" alt="Collaboration graph"/></div>
<map name="_i_s_a_p_i___http_request_coll__map" id="_i_s_a_p_i___http_request_coll__map">
<area shape="rect" id="node2" href="class_http_request.html" title="HttpRequest" alt="" coords="26,83,120,111"/>
<area shape="rect" id="node4" href="class_http_message.html" title="HttpMessage" alt="" coords="23,6,123,34"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a69e39b9de24b7b69d48d40bc768b7a59"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_s_a_p_i___http_request.html#a69e39b9de24b7b69d48d40bc768b7a59">ISAPI_HttpRequest</a> (EXTENSION_CONTROL_BLOCK *pECB=NULL)</td></tr>
<tr class="separator:a69e39b9de24b7b69d48d40bc768b7a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f02aeb3d9690ece2bef8ad5b9046995"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_s_a_p_i___http_request.html#a3f02aeb3d9690ece2bef8ad5b9046995">~ISAPI_HttpRequest</a> ()</td></tr>
<tr class="memdesc:a3f02aeb3d9690ece2bef8ad5b9046995"><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor.  <a href="#a3f02aeb3d9690ece2bef8ad5b9046995">More...</a><br /></td></tr>
<tr class="separator:a3f02aeb3d9690ece2bef8ad5b9046995"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae96421c6b524a368c0edcfcff787839"><td class="memItemLeft" align="right" valign="top">EXTENSION_CONTROL_BLOCK *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_s_a_p_i___http_request.html#aae96421c6b524a368c0edcfcff787839">ECB</a> () const </td></tr>
<tr class="separator:aae96421c6b524a368c0edcfcff787839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_http_request"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_http_request')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_http_request.html">HttpRequest</a></td></tr>
<tr class="memitem:a42b01e8d23e15e65ad9c712922a6a812 inherit pub_methods_class_http_request"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#a42b01e8d23e15e65ad9c712922a6a812">HttpRequest</a> ()</td></tr>
<tr class="memdesc:a42b01e8d23e15e65ad9c712922a6a812 inherit pub_methods_class_http_request"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor.  <a href="#a42b01e8d23e15e65ad9c712922a6a812">More...</a><br /></td></tr>
<tr class="separator:a42b01e8d23e15e65ad9c712922a6a812 inherit pub_methods_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfc7ae561e6ba03d21890ee1855df72b inherit pub_methods_class_http_request"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#adfc7ae561e6ba03d21890ee1855df72b">~HttpRequest</a> ()</td></tr>
<tr class="memdesc:adfc7ae561e6ba03d21890ee1855df72b inherit pub_methods_class_http_request"><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor.  <a href="#adfc7ae561e6ba03d21890ee1855df72b">More...</a><br /></td></tr>
<tr class="separator:adfc7ae561e6ba03d21890ee1855df72b inherit pub_methods_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2edd13f4d6b04289b8757a0283b3ef9 inherit pub_methods_class_http_request"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_http_request.html#a270ef3ee78537b428e08aa572ee17b3f">Method</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#aa2edd13f4d6b04289b8757a0283b3ef9">getMethod</a> () const </td></tr>
<tr class="separator:aa2edd13f4d6b04289b8757a0283b3ef9 inherit pub_methods_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59b899da33af20f9753e68f36d602d9d inherit pub_methods_class_http_request"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#a59b899da33af20f9753e68f36d602d9d">getQueryString</a> ()</td></tr>
<tr class="separator:a59b899da33af20f9753e68f36d602d9d inherit pub_methods_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aada30ce287043e697806b8461da8b586 inherit pub_methods_class_http_request"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#aada30ce287043e697806b8461da8b586">getBody</a> ()</td></tr>
<tr class="separator:aada30ce287043e697806b8461da8b586 inherit pub_methods_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7d30bcd7776c993707d6fcb549c2276 inherit pub_methods_class_http_request"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#ad7d30bcd7776c993707d6fcb549c2276">getData</a> ()</td></tr>
<tr class="separator:ad7d30bcd7776c993707d6fcb549c2276 inherit pub_methods_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2d3dd449ff5f35bf078e11fff3adec5 inherit pub_methods_class_http_request"><td class="memItemLeft" align="right" valign="top">virtual unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#af2d3dd449ff5f35bf078e11fff3adec5">getContentLength</a> () const </td></tr>
<tr class="memdesc:af2d3dd449ff5f35bf078e11fff3adec5 inherit pub_methods_class_http_request"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the lenght of the body of the request.  <a href="#af2d3dd449ff5f35bf078e11fff3adec5">More...</a><br /></td></tr>
<tr class="separator:af2d3dd449ff5f35bf078e11fff3adec5 inherit pub_methods_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85be728a75e733a9d47d1ce6497d593f inherit pub_methods_class_http_request"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#a85be728a75e733a9d47d1ce6497d593f">operator&lt;&lt;</a> (std::istream &amp;)</td></tr>
<tr class="separator:a85be728a75e733a9d47d1ce6497d593f inherit pub_methods_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_http_message"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_http_message')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_http_message.html">HttpMessage</a></td></tr>
<tr class="memitem:ab968a8f1951328ccf0951d34cf92235e inherit pub_methods_class_http_message"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_message.html#ab968a8f1951328ccf0951d34cf92235e">HttpMessage</a> ()</td></tr>
<tr class="memdesc:ab968a8f1951328ccf0951d34cf92235e inherit pub_methods_class_http_message"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor.  <a href="#ab968a8f1951328ccf0951d34cf92235e">More...</a><br /></td></tr>
<tr class="separator:ab968a8f1951328ccf0951d34cf92235e inherit pub_methods_class_http_message"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90be149af1f31ddc0f4cefd8dc46bf9b inherit pub_methods_class_http_message"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_http_message.html#a15622cab3577a34e0113718e532bdee5">ContentHeaders</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_message.html#a90be149af1f31ddc0f4cefd8dc46bf9b">getContentHeaders</a> () const </td></tr>
<tr class="memdesc:a90be149af1f31ddc0f4cefd8dc46bf9b inherit pub_methods_class_http_message"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the content headers of the message.  <a href="#a90be149af1f31ddc0f4cefd8dc46bf9b">More...</a><br /></td></tr>
<tr class="separator:a90be149af1f31ddc0f4cefd8dc46bf9b inherit pub_methods_class_http_message"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b85637fb103e01edaf0ab0428c97696 inherit pub_methods_class_http_message"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_http_message.html#a15622cab3577a34e0113718e532bdee5">ContentHeaders</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_message.html#a8b85637fb103e01edaf0ab0428c97696">getContentHeaders</a> ()</td></tr>
<tr class="memdesc:a8b85637fb103e01edaf0ab0428c97696 inherit pub_methods_class_http_message"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the content headers of the message.  <a href="#a8b85637fb103e01edaf0ab0428c97696">More...</a><br /></td></tr>
<tr class="separator:a8b85637fb103e01edaf0ab0428c97696 inherit pub_methods_class_http_message"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a726f63a3b00265abdef6bcdc9baf8d84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_s_a_p_i___http_request.html#a726f63a3b00265abdef6bcdc9baf8d84">ParseHeaders</a> (EXTENSION_CONTROL_BLOCK &amp;ecb)</td></tr>
<tr class="memdesc:a726f63a3b00265abdef6bcdc9baf8d84"><td class="mdescLeft">&#160;</td><td class="mdescRight">extract the request headers from the content block  <a href="#a726f63a3b00265abdef6bcdc9baf8d84">More...</a><br /></td></tr>
<tr class="separator:a726f63a3b00265abdef6bcdc9baf8d84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadd87ba2d1c3e917de3e3e1755175763"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_s_a_p_i___http_request.html#aadd87ba2d1c3e917de3e3e1755175763">AddHeader</a> (EXTENSION_CONTROL_BLOCK &amp;ecb, const char *pszHeaderName, LPCTSTR pszVariableName)</td></tr>
<tr class="separator:aadd87ba2d1c3e917de3e3e1755175763"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24bffd9c68b533d772a67b81858cc297"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_s_a_p_i___http_request.html#a24bffd9c68b533d772a67b81858cc297">ReadHeader</a> (EXTENSION_CONTROL_BLOCK &amp;ecb, LPCTSTR pszVariableName, std::string &amp;strHeaderValue)</td></tr>
<tr class="separator:a24bffd9c68b533d772a67b81858cc297"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a784943dc41584caa831f7a398b8af188"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_s_a_p_i___http_request.html#a784943dc41584caa831f7a398b8af188">ReadCustomHeaders</a> (EXTENSION_CONTROL_BLOCK &amp;ecb)</td></tr>
<tr class="separator:a784943dc41584caa831f7a398b8af188"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a9e46dd3a5494b59590190f5ec47474ee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_s_a_p_i___http_request.html#a9e46dd3a5494b59590190f5ec47474ee">m_bHeadersParsed</a></td></tr>
<tr class="memdesc:a9e46dd3a5494b59590190f5ec47474ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">have the content headers already been parsed ?  <a href="#a9e46dd3a5494b59590190f5ec47474ee">More...</a><br /></td></tr>
<tr class="separator:a9e46dd3a5494b59590190f5ec47474ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d308c615b155c7f602c1a2515dc8c21"><td class="memItemLeft" align="right" valign="top">EXTENSION_CONTROL_BLOCK *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_s_a_p_i___http_request.html#a1d308c615b155c7f602c1a2515dc8c21">m_pECB</a></td></tr>
<tr class="separator:a1d308c615b155c7f602c1a2515dc8c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_http_message"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_http_message')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_http_message.html">HttpMessage</a></td></tr>
<tr class="memitem:a564772b784f203c111dc6646c5617f1f inherit pro_attribs_class_http_message"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_http_message.html#a15622cab3577a34e0113718e532bdee5">ContentHeaders</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_message.html#a564772b784f203c111dc6646c5617f1f">m_ContentHeaders</a></td></tr>
<tr class="memdesc:a564772b784f203c111dc6646c5617f1f inherit pro_attribs_class_http_message"><td class="mdescLeft">&#160;</td><td class="mdescRight">the content headers.  <a href="#a564772b784f203c111dc6646c5617f1f">More...</a><br /></td></tr>
<tr class="separator:a564772b784f203c111dc6646c5617f1f inherit pro_attribs_class_http_message"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_class_http_request"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_http_request')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="class_http_request.html">HttpRequest</a></td></tr>
<tr class="memitem:a270ef3ee78537b428e08aa572ee17b3f inherit pub_types_class_http_request"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#a270ef3ee78537b428e08aa572ee17b3f">Method</a> { <a class="el" href="class_http_request.html#a270ef3ee78537b428e08aa572ee17b3fa99e44f5e93ff98c3a774cd47599fa175">GET</a> = 0, 
<a class="el" href="class_http_request.html#a270ef3ee78537b428e08aa572ee17b3faaa3e5faf15649b28b1e774c3decde5b7">POST</a> = 1
 }<tr class="separator:a270ef3ee78537b428e08aa572ee17b3f inherit pub_types_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
</td></tr>
<tr class="inherit_header pub_types_class_http_message"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_http_message')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="class_http_message.html">HttpMessage</a></td></tr>
<tr class="memitem:a15622cab3577a34e0113718e532bdee5 inherit pub_types_class_http_message"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, std::string, <a class="el" href="structcasecmpless.html">casecmpless</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_message.html#a15622cab3577a34e0113718e532bdee5">ContentHeaders</a></td></tr>
<tr class="separator:a15622cab3577a34e0113718e532bdee5 inherit pub_types_class_http_message"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_class_http_request"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_class_http_request')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="class_http_request.html">HttpRequest</a></td></tr>
<tr class="memitem:ae42a19faff814175f8f922f9325e5ca0 inherit pub_attribs_class_http_request"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#ae42a19faff814175f8f922f9325e5ca0">_querystring</a></td></tr>
<tr class="separator:ae42a19faff814175f8f922f9325e5ca0 inherit pub_attribs_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2628180d86732118a7b76044552a3c5a inherit pub_attribs_class_http_request"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#a2628180d86732118a7b76044552a3c5a">_body</a></td></tr>
<tr class="separator:a2628180d86732118a7b76044552a3c5a inherit pub_attribs_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1b1e998e61b8bc657e7a96e8c78255b inherit pub_attribs_class_http_request"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#ac1b1e998e61b8bc657e7a96e8c78255b">_contentlength</a></td></tr>
<tr class="separator:ac1b1e998e61b8bc657e7a96e8c78255b inherit pub_attribs_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c447b8f65b1c4ca7a3187f383d64497 inherit pub_attribs_class_http_request"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_http_request.html#a270ef3ee78537b428e08aa572ee17b3f">Method</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_http_request.html#a6c447b8f65b1c4ca7a3187f383d64497">_method</a></td></tr>
<tr class="separator:a6c447b8f65b1c4ca7a3187f383d64497 inherit pub_attribs_class_http_request"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>encapsulate special content header parsing if we are running on a non-standard server. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a69e39b9de24b7b69d48d40bc768b7a59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ISAPI_HttpRequest::ISAPI_HttpRequest </td>
          <td>(</td>
          <td class="paramtype">EXTENSION_CONTROL_BLOCK *&#160;</td>
          <td class="paramname"><em>pECB</em> = <code>NULL</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructor, parsing also content headers from the control block. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pECB</td><td>the ISAPI extension control block passed in by IIS. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3f02aeb3d9690ece2bef8ad5b9046995"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ISAPI_HttpRequest::~ISAPI_HttpRequest </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aadd87ba2d1c3e917de3e3e1755175763"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ISAPI_HttpRequest::AddHeader </td>
          <td>(</td>
          <td class="paramtype">EXTENSION_CONTROL_BLOCK &amp;&#160;</td>
          <td class="paramname"><em>ecb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pszHeaderName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPCTSTR&#160;</td>
          <td class="paramname"><em>pszVariableName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>add a ECB header variable to our content headers collection. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ecb</td><td>the extension control block of the current IIS request </td></tr>
    <tr><td class="paramname">pszHeaderName</td><td>the HTTP - standard name of the content header. </td></tr>
    <tr><td class="paramname">pszVariableName</td><td>the name invented by Micro$oft for the same thing. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aae96421c6b524a368c0edcfcff787839"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EXTENSION_CONTROL_BLOCK * ISAPI_HttpRequest::ECB </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a726f63a3b00265abdef6bcdc9baf8d84"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ISAPI_HttpRequest::ParseHeaders </td>
          <td>(</td>
          <td class="paramtype">EXTENSION_CONTROL_BLOCK &amp;&#160;</td>
          <td class="paramname"><em>ecb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>extract the request headers from the content block </p>

</div>
</div>
<a class="anchor" id="a784943dc41584caa831f7a398b8af188"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ISAPI_HttpRequest::ReadCustomHeaders </td>
          <td>(</td>
          <td class="paramtype">EXTENSION_CONTROL_BLOCK &amp;&#160;</td>
          <td class="paramname"><em>ecb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>read all HTTP headers that were not already parsed into one of the ISAPI - ECB variables. </p>

</div>
</div>
<a class="anchor" id="a24bffd9c68b533d772a67b81858cc297"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ISAPI_HttpRequest::ReadHeader </td>
          <td>(</td>
          <td class="paramtype">EXTENSION_CONTROL_BLOCK &amp;&#160;</td>
          <td class="paramname"><em>ecb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPCTSTR&#160;</td>
          <td class="paramname"><em>pszVariableName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>strHeaderValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Read a variable from the control block. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ecb</td><td>the Extension Control Block. </td></tr>
    <tr><td class="paramname">pszVariableName</td><td>the name of the variable to read  (output) the value of the variable </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the header was found. </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a9e46dd3a5494b59590190f5ec47474ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ISAPI_HttpRequest::m_bHeadersParsed</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>have the content headers already been parsed ? </p>

</div>
</div>
<a class="anchor" id="a1d308c615b155c7f602c1a2515dc8c21"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EXTENSION_CONTROL_BLOCK* ISAPI_HttpRequest::m_pECB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_i_s_a_p_i___http_context_8h.html">ISAPI_HttpContext.h</a></li>
<li><a class="el" href="_i_s_a_p_i___http_context_8cpp.html">ISAPI_HttpContext.cpp</a></li>
</ul>
</div><!-- contents -->
<hr class="footer">
<address class="footer">
Copyright (C) 2016, Robert van Engelen, Genivia Inc., All Rights Reserved.
</address>
<address class="footer"><small>
Converted on Mon Feb 22 2016 20:00:39 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.10</small></address>
<br>
<div style="height: 246px; background: #DBDBDB;">
</body>
</html>
